// ⚠️  此文件已废弃 - This file is deprecated
// 统一的配置接口已迁移至 ConfigurationAppServiceInterfaces.cs
// Unified configuration interfaces have been migrated to ConfigurationAppServiceInterfaces.cs
//
// 为了向后兼容保留此文件，建议新代码使用统一接口文件中的定义
// This file is kept for backward compatibility. New code should use the unified interface.

using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Matrix.Configuration.DTOs;

namespace Matrix.Configuration.Services
{
    /// <summary>
    /// 服务定义配置应用服务接口（已废弃）
    /// 请使用 ConfigurationAppServiceInterfaces.cs 中的统一接口
    /// </summary>
    [Obsolete("此接口已废弃，请使用 ConfigurationAppServiceInterfaces.cs 中的 Matrix.Configuration.Contracts.IServiceDefinitionAppService", false)]
    public interface IServiceDefinitionAppService : IApplicationService
    {
        Task DefineServiceAsync(DefineServiceInput input);
        Task<PagedResultDto<ServiceDefinitionDto>> GetServicesAsync(
            string filter = "",
            int maxResultCount = 10,
            int skipCount = 0);
        Task<ServiceConfigurationDefinitionDto> GetServiceConfigurationAsync(string serviceName);
        Task UpdateServiceAsync(string serviceName, UpdateServiceInput input);
        Task DeleteServiceAsync(string serviceName);
        Task<ServiceDependenciesDto> GetServiceDependenciesAsync(string serviceName);
    }
}